Application and Optimization of Masks in Live2D

What is normal mask vs. inverted mask

Mask = any texture can be used as mask, just copy the mask ID(s) and paste them to the designated artmesh's Mask ID for clipping effect.

In simple words, normal mask and inverted one behaves the opposite:

Normal mask = marks visible area
Inverted mask = marks invisible area

Use comma to separate mask mesh IDs, or use dropdown menu, to add more meshes to the clipping mask ID list.

When "Invert Mask" is checked, normal mask's behavior turns into inverted mask.


Offscreen Drawing and Mask Optimization

In SDK 5.3, offscreen drawing feature are introduced. Multiple meshes within the offscreen drawn folder are treated as one render texture in memory.

When offscreen drawing is on, the folder (Part) will turn into a purple icon, and the Part supports clipping masks input. The overall objects in that Part can have the opacity/blending mode/color & alpha blend applied as a whole.

This new feature shows many new possibilities for rigger to create more vibrant VFX and simplifies workflow in some way; but keep in mind, offscreen drawing is performance-heavy, as it render targets in memory then transfer to final display. Ultimately too many offscreen parts will impact your FPS. Proceed with cautions. [1]

As Vtube Studio doesn't support SDK5.3 yet (Nov. 2025), vtuber models can't have offscreen drawing feature as of now. 5.3 new features are more often used in animation videos. You can still rig vtuber model in Cubism 5.3beta3, just change its SDK to 5.0 version. [2]

Even if you don't use 5.3 offscreen features, remember to optimize file whenever using clipping masks: Multiple Artmeshes with the same strings of mask IDs are considered as having the same mask ID permutation. If ID permutation exceeds the allowed number for the implemented program, the look of model may be impacted. Too many ID permutation also hits performance. [3]

Note

Therefore to save performance, always optimize the ID permutation frequently when rigging with masks.

Example:

Mesh A's mask ID: artmesh 1

Mesh B's mask ID: artmesh 1, artmesh 2

Mesh C's mask ID: artmesh 2, artmesh 3

in total = 3 ID permutations

If sharing the same strings of masks won't change the artmeshes look at all --> they can have the same ID permutation.

After optimization:

Mesh A's mask ID: artmesh 1, artmesh 2, artmesh 3

Mesh B's mask ID: artmesh 1, artmesh 2, artmesh 3

Mesh C's mask ID: artmesh 1, artmesh 2, artmesh 3

in total = 1 ID permutation


Applications of normal mask and inverted mask

1. #face shadow around edge of face to show volume:

Here shows a very common hierarchy of normal mask when creating the shadow:

face line
└── face shadow (U-shaped ring, inner border of U can have warmer hue to indicate SSS)
└── face base (flat monochrome; used as mask for shadow/tattoos/blush)

In contrast, using inverted mask method to create the shadow:

face line
└── face white (slightly gaussian blurred edges)
└── face shadow (soft center gradient; warm SSS tone)
└── face base (flat monochrome; also the universal mask source for shadow/tattoos/blush)

Why Inverted Mask Method May Look Better?

The traditional method clips face shadow to face base, so shadow visibility is binary:
either revealed or hidden. Shadow looks uniform as terminator line is always revealed, has no falloff as the face turns.

The inverted method introduces a blurred face white in front of face shadow, so the shadow’s visibility actually has gradient-driven falloff. Also the shape of terminator line can be more precisely controlled through deformations on both face white and face shadow.

2. #face partially hide face line

Draw a circular or oval texture and apply it as an inverted mask to the face line, usually at the chin area and/or where the ear overlaps the cheek.
Softening mask will also softens lineart in those regions to create a more natural line weight.

Another way to achieve similar goal is Back-face filled method (Underfill), which you won't need to put mask on lineart.

3. Inverted Mask and Draw order natural transition

Here's a great example of how to ease the sudden-jumping look that occurs when you need to change draw order for overlapping objects.

Normally, changing draw order is an instant swap, which looks unnatural.

Using an inverted mask provides a smooth, gradual transition.

@KoumoriVa shows how they are able to achieve smooth legs overlapping transition with inverted masks:

4. Extended texture with masks for #body

@ninoueco shows their art cutting psd, using skirt as example:

With well-designed art layer cuts and proper clipping masks, a natural and compelling body‑X turning effect can be achieved in rigging easily.


  1. https://docs.live2d.com/en/cubism-editor-manual/offscreen-drawing/ ↩︎

  2. https://x.com/VTubeStudio/status/1960590322120941752 ↩︎

  3. https://docs.live2d.com/en/cubism-sdk-manual/maximum-number-of-masks-used/ ↩︎